package mason.dp.templatemethod;
/**
 * 
 * @author MasonAir
 *大唐移动的一道笔试题，考的就是模板方法，张三，李四，王五做同一件事情的步骤都是一样的，只是每个人都有自己独特的方式
 */
public abstract class DaTangProblem {
	//将具体的实现延迟到子类完成，子类可以按照自己的方式具体实现
	protected abstract void doFirstThing();
	protected abstract void doSecondThing();
	protected abstract void doThirdThing();
	
	/**
	 * 这里定义固定的执行步骤，也是将固定步骤定义为模板
	 */
	public void doSth() {
		doFirstThing();
		doSecondThing();
		doThirdThing();
	}
}
